添加安装阶段对整合包可选文件的支持 - #1771
Conversation
|
Merge Conflict 了,记得改一改 |
|
ping @CaveNightingale |
|
人已经 9 个月不见了,大概是跑了( |
好的 |
|
《跑了》 |
|
完成 |
|
@huanghongxun 这个已经一年没合了 |
Curse 整合包导入测试注:未测试安装 RLCraft 1.12.2 - Release v2.9.3(改造版).zip HMCL-3.5.SNAPSHOT(需要将zip后缀改为jar).zip 问题:若网络环境不佳,Curse 整合包下面的文件名显示是直接为空白,我觉得这个文件名获取可能会有点问题? |
Modrinth 整合包导入测试注:未测试安装 Cobblemon Modpack [Fabric] 1.4.1(改造版).zip HMCL-3.5.SNAPSHOT(需要将zip后缀改为jar).zip 建议:我发现下方的文件选择没标题可能会让用户不知道是什么东西,我建议在上面加个标题 |
Modrinth 整合包安装测试
|
|
请将加载整合包文件的 Task 显示至屏幕上,并以并发操作 |
我觉得不太行,可能会影响操作流畅性 |
那就添加一个 Spinner,让用户感知到HMCL 正在加载 |
|
此外,建议把下面的仅文件名改为模组下载界面的 UI 风格,即,可以点进去查看详情 |
|
@CaveNightingale ping |
好 |
|
主要还是这一条:
和:
建议改成:每一个可选模组为一个 TwoLineListItem,可参考模组下载界面,如果失败,则显示“失败,点击重试” |
|
我认为并不认同 如果有模组名称获取失败就重试几遍(5遍就够了),还是不行就直接贴一个 然后这个可选模组页面,加一个全选(全不选)按钮,然后加个 |
|
这样会不会增加复杂度啊 |
如果移动到单独界面呢?即:
用户只看一个模组的文件名,是无法考虑要还是不要这个模组的,确实需要展示模组详细信息 加油 |
|
By the way,请问你这里的 RT 是指?
|
https://docs.modrinth.com/modpacks/format |
如题 |
|
ping @CaveNightingale 敲打本PR作者 日活非常低 :( |
请问之前要求的渐变过渡是指什么效果? |
不到啊 问Glavo :( |
|
CC @Glavo |
|
|
|
这个是目前搁置最久最老的 PR 了,我建议直接关掉重开,尤其是已经和主线冲突了,如果不是昨晚我手贱,估计类似更多#6805所要面对与解决的漏洞与隐患 |
我基本上计划重新做了 |
|
我现在无法编译主线HMCL,此PR先搁置一下。 |
这个问题或许等 #6805 合并了就解决了 |
|
这个PR还活着吗? 要不先关了? Glavo目前正在重构整个HMCL底层 可能会出现大量合并冲突导致工作流激增(甚至不如重写重开PR) |
我的目前正在重写这个PR,你说Glavo重构正在重构整个HMCL底层,有没有RoadMap?我评估一下。 |
重构比较慢 但正在逐步重构 HMCL 的底层 下一步动作等待Glavo的实际计划 (我猜可能要重构下载部分? (目前没明确的重构计划(自然RoadMap也是没有的(又体现到 #6602 的重要性了)))) |
感觉这都是一些局部即兴重构,我个人认为这个问题不是很大。即使过了这批,这类重构也会时常发生。这个PR也不止一次遇到一大堆合并冲突了。 |
edc55e1 to
1a2349e
Compare
逻辑上,选择可选文件是选择文件名之后的下一步,使用向左滑动的动画和其他地方是一致的,用渐变怪怪的。 撑满高度的问题和没有可选文件显示可选文件的问题已经修改。 |
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 186d823c16
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| private void finishInstall(String name) { | ||
| controller.getSettings().put(MODPACK_NAME, name); | ||
| controller.getSettings().put(MODPACK_CHARSET, charset); | ||
| controller.getSettings().put(MODPACK_EXCLUDED_FILES, getExcludedFiles()); |
There was a problem hiding this comment.
Preserve saved exclusions during updates
When updating a CurseForge or Modrinth instance that already has excluded.json, this page always starts with an empty excludedFiles set and stores that empty set here unless the user reselects every exclusion. The completion task then overwrites excluded.json with [] and downloads all previously excluded optional files, so a routine update silently discards the user's choices. Initialize the set from the target instance's persisted exclusions, or preserve the existing file until the selection is explicitly changed.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
I think this is out of scope.
| if (excludedFiles != null && excludedFiles.contains(file.key())) | ||
| continue; |
There was a problem hiding this comment.
Remove already-installed files that become excluded
When an update excludes an optional file whose path and manifest identity are unchanged, this check only suppresses a new download. ModrinthInstallTask retains the existing file because it is still present in the new manifest, so the unchecked file remains installed; the CurseForge update path has the same behavior. Include exclusions in the update cleanup so the resulting instance actually reflects the selection.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Updating is not a part of this PR.
|
@Glavo 实现更新/更改整合包文件不是这个PR的目标,需要另外设计界面而且用户需求不多,我的建议是另PR处理。 |
1 similar comment
|
@Glavo 实现更新/更改整合包文件不是这个PR的目标,需要另外设计界面而且用户需求不多,我的建议是另PR处理。 |



动机
我们目前在运营一个服务器,服务器提供两组模组,一组要求玩家必须安装,例如匠神、农夫乐事等,另一组推荐玩家选择安装,例如投影图、FreeCam等。
我们曾经尝试使用整合包格式分发,事实上Modrinth和CurseForge整合包格式均支持声明可选模组/文件,但发现HMCL会直接将这些文件当作必选处理。
目前,我们仍然在使用直接压缩
.jar文件的方式分发模组。我们希望未来能够通过分发HMCL整合包的形式分发我们的服务器客户端。描述
风险
非目标